package aop.aspect;

import org.aspectj.lang.annotation.Pointcut;

public class AspectPointCuts {
    // 匹配 sample 包及其子包下所有类的方法
    // @pointcut("within(com.sample..*)")

    // 匹配所有以 Service 结尾的 bean 里面的方法
    // @pointcut("bean(*Service)")

    // 匹配注解有 AdminOnly 注解的方法
    // @pointcut("@annotation(com.sample.security.AdminOnly)")

    // 匹配传入参数的类标注有 Repository 注解的方法
    // @pointcut("args(org.springframework.stereotype.Repository)")

    // 匹配 MathCalculator 接口中的所有方法
    @Pointcut(value = "within(aop.service.MathCalculator)")
    public void aopDemo() {
    }
}